package practice.Day11;

import java.util.Scanner;

/**
 * @Author quan
 * @Description 求最大连续bit数
 * @Date 2023/5/19 15:30
 */
public class Num2_binaryNum {
    /**
     * 有思路，按照自己理解写的，100%。
     * 思路：用count来记录1的个数，不断与maxNum比较，maxNum中保存的是最大值。当碰见0的时候，count就要重新开始计数。
     * @param args
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        //将数字转为二进制 使用Integer.toBinaryString()来转化，结果是字符串类型。
        String binNum = Integer.toBinaryString(n);
        System.out.println(binNum);
        //遍历字符串，找连续1的个数
        int count = 0;
        int maxNum = 0;
        for (int i = 0; i < binNum.length(); i++) {
            if(binNum.charAt(i) == '1'){
                count++;
                if(count >= maxNum){
                    maxNum = count;
                }
            }else{
               count=0;
            }
        }
        System.out.println(maxNum);
    }
}
